home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 2010 April / PCWorld0410.iso / pluginy Firefox / 57670 / 57670.xpi / chrome / content / options.js < prev    next >
Text File  |  2010-01-28  |  4KB  |  88 lines

  1. function _(id) {return document.getElementById(id);}
  2.  
  3. function initialize_options() {
  4.     // initialize "% Scale" slider
  5.     _("scale").value = _("pref-scale").value
  6.     // Bind slider and textbox changes
  7.     _("scale").addEventListener("change", function(){_("scale-text").value = this.value}, false)
  8.     _("scale-text").addEventListener("change", function(){_("scale").value = this.value}, false)
  9.  
  10.     // Disable/enable resize options as necessary
  11.     toggle_resize_options(!_("resize").checked)
  12.     // Disable/enable text options as necessary
  13.     toggle_text_options(!_("text-preview").checked)
  14.  
  15.     // Hide/show resize options as necessary
  16.     _("resize-method").addEventListener("select", function(){change_resize_options(this.value)}, false)
  17.     change_resize_options(_("resize-method").value)
  18.  
  19.     // Bind hover-zoom option controls
  20.     _("hover-zoom").addEventListener("mouseup", function(){_("hover-zoom-timeout").disabled = this.checked}, false)
  21.     _("hover-zoom-timeout").addEventListener("change", function(){_("pref-hover-zoom-timeout").value = this.value*1000}, false)
  22.     // Initialize hover-zoom-timeout
  23.     _("hover-zoom-timeout").disabled = !_("hover-zoom").checked
  24.     _("hover-zoom-timeout").value = _("pref-hover-zoom-timeout").value/1000.0
  25. }
  26.  
  27. function log_(str) {
  28.     Components.classes["@mozilla.org/consoleservice;1"]
  29.         .getService(Components.interfaces.nsIConsoleService)
  30.         .logStringMessage("CLPics: "+str);
  31. }
  32.  
  33.  
  34. function toggle_resize_options(disabled) {
  35.     if (!disabled) {
  36.         _("pref-resize-method").value = _("resize-method").value
  37.     }
  38.     var radios = _("resize-options").getElementsByTagName("radio")
  39.     var texts = _("resize-options").getElementsByTagName("textbox")
  40.     var scales = _("resize-options").getElementsByTagName("scale")
  41.     var checks = _("resize-options").getElementsByTagName("checkbox")
  42.     var labels = _("resize-options").getElementsByTagName("label")
  43.     for (var ix in radios) radios[ix].disabled = disabled
  44.     for (var ix in texts) texts[ix].disabled = disabled
  45.     for (var ix in scales) scales[ix].disabled = disabled
  46.     for (var ix in checks) checks[ix].disabled = disabled
  47.     for (var ix in labels) labels[ix].disabled = disabled
  48.  
  49.     // h-z-t's disabled state depends secondarily on h-z's checked state
  50.     if (!disabled)
  51.         _("hover-zoom-timeout").disabled = !_("hover-zoom").checked
  52. }
  53.  
  54. function toggle_image_options(disabled) {
  55.     if (!disabled)
  56.         toggle_resize_options(!_("resize").checked)
  57.     else
  58.         toggle_resize_options(true) // true = disabled
  59.     _("resize").disabled = disabled
  60.  
  61.     var texts = _("image-options").getElementsByTagName("textbox")
  62.     var checks = _("image-options").getElementsByTagName("checkbox")
  63.     var labels = _("image-options").getElementsByTagName("label")
  64.     for (var ix in texts) texts[ix].disabled = disabled
  65.     for (var ix in checks) checks[ix].disabled = disabled
  66.     for (var ix in labels) labels[ix].disabled = disabled
  67. }
  68.  
  69. function toggle_text_options(disabled) {
  70.     var texts = _("text-options").getElementsByTagName("textbox")
  71.     var checks = _("text-options").getElementsByTagName("checkbox")
  72.     var labels = _("text-options").getElementsByTagName("label")
  73.     for (var ix in texts) texts[ix].disabled = disabled
  74.     for (var ix in checks) checks[ix].disabled = disabled
  75.     for (var ix in labels) labels[ix].disabled = disabled
  76. }
  77.  
  78. function change_resize_options(type) {
  79.     var blocks = {
  80.                     "image_scale-options": _("image_scale-options"),
  81.                     "image_maxheight-options": _("image_maxheight-options"),
  82.                     "image_maxwidth-options": _("image_maxwidth-options")
  83.                 }
  84.     for (var ix in blocks) blocks[ix].hidden = true
  85.     blocks[type+"-options"].hidden = false
  86. }
  87.  
  88.